all: data

#COMMUNICATION
##############
com: ServeurCom ClientCom 

ServeurCom : ServeurMain.o ServeurTCP.o ServeurUDP.o Hote.o sock.o sockdist.o ActionListenner.o
	g++ ServeurMain.o ServeurTCP.o ServeurUDP.o Hote.o sock.o sockdist.o ActionListenner.o -lpthread -o MainServeur 

ClientCom : ClientMain.o ClientTCP.o ClientUDP.o ActionListenner.o Hote.o sock.o sockdist.o
	g++ ClientMain.o ClientTCP.o ClientUDP.o ActionListenner.o Hote.o sock.o sockdist.o -o MainClient

ServeurMain.o:ServeurMain.cc
	g++ -c ServeurMain.cc

CLientMain.o:ClientMain.cc
	g++ -c ClientMain.cc

ClientTCP.o: ClientTCP.cc ClientTCP.h
	g++ -c ClientTCP.cc

ServeurTCP.o: ServeurTCP.cc ServeurTCP.h
	g++ -c ServeurTCP.cc


ServeurUDP.o: ServeurUDP.cc ServeurUDP.h
	g++ -c ServeurUDP.cc

ClientUDP.o: ClientUDP.cc ClientUDP.h
	g++ -c ClientUDP.cc

Hote.o: Hote.cc Hote.h 
	g++ -c Hote.cc

ActionListenner.o: ActionListenner.cc
	g++ -c ActionListenner.cc

sock.o: sock.cc sock.h
	g++ -c sock.cc

sockdist.o: sockdist.cc sockdist.h
	g++ -c sockdist.cc

#DONNEES
########
data: Serveur Client

#Serveur
Serveur: serveurDataMain.o Serveur.o Utilisateur.o Categorie.o Article.o Groupe.o ActionListenner.o ServeurTCP.o ServeurUDP.o Hote.o sock.o sockdist.o WikiException.o
	g++ serveurDataMain.o Serveur.o Utilisateur.o Categorie.o Article.o ActionListenner.o ServeurTCP.o ServeurUDP.o Hote.o sock.o sockdist.o WikiException.o -lpthread -o serveurDataMain

serveurDataMain.o: serveurDataMain.cc
	g++ -c serveurDataMain.cc

Serveur.o: Serveur.cc Serveur.h
	g++ -c Serveur.cc

Utilisateur.o: Utilisateur.cc Utilisateur.h
	g++ -c Utilisateur.cc

Categorie.o: Categorie.cc Categorie.h
	g++ -c Categorie.cc

Article.o: Article.cc Article.h
	g++ -c Article.cc

Groupe.o: Groupe.cc Groupe.h
	g++ -c Groupe.cc


#Client
Client: clientDataMain.o Client.o ActionListenner.o ClientTCP.o ClientUDP.o Hote.o sock.o sockdist.o
	g++ clientDataMain.o Client.o ActionListenner.o ClientTCP.o ClientUDP.o Hote.o sock.o sockdist.o -o clientDataMain

Client.o: Client.cc Client.h
	g++ -c Client.cc

#COMMUN
#######
WikiException.o: WikiException.cc
	g++ -c WikiException.cc


#OTHERS
#######
clean : 
	rm -rf *.o
